package com.shopper.manager.mapper;

import com.shopper.manager.model.index.*;
import com.shopper.manager.model.index.req.CardReq;
import com.shopper.manager.model.index.req.EmployeesAttendanceReq;
import com.shopper.manager.model.index.req.EmployeesCardReq;
import com.shopper.manager.model.index.req.EmployeesClockReq;
import com.shopper.manager.model.index.result.CardResult;
import com.shopper.manager.model.index.result.EmployeesAttendanceResult;
import com.shopper.manager.model.index.result.EmployeesClockState;
import com.shopper.manager.model.index.req.InsertClockTimeReq;

import java.util.List;

public interface IndexMapper {

    int registered(RegisteredBean bean);


    void insertUser(UserBean bean);

    int insertListEmployees(List<EmployeesIdBean> list);
    int updateUserInfo(UserBean bean);

    RegisteredBean login(RegisteredBean bean);

    int updatePassword(RegisteredBean bean);//修改密码
    int forgetPassword(RegisteredBean bean);//忘记密码
    int updateToken(UserBean bean);//更新token
    int deleteToken(UserBean bean);//删除用户token

    List<UserBean> selectListEmployees(UserBean bean);
    int deleteEmployees(UserBean bean);
    int insertShopAddress(ShopAddressBean bean);//插入店铺信息
    int updateShopAddress(ShopAddressBean bean);//更改商家店铺地址信息
    int updateUserShopAddress();//更新所有店员信息

    EmployeesIdBean selectEmployees(int level);
    ShopAddressBean selectShopAddress(int id);

    List<EmployeesIdBean> selectEmployeeLevel();//查询员工级别列表
    int clockGoWork(EmployeesClockReq req);//打上班卡
    int isClockWork(EmployeesClockReq req);//是否打卡统计
    int clockAfterWork(EmployeesClockReq req);//打下班卡
    int updateAfterWork(EmployeesClockReq req);//更新下班卡
    EmployeesClockState getClockState(EmployeesClockReq req);//查询打卡状态
    EmployeesAttendanceResult getEmployeesDate(EmployeesClockReq req);//按日期查询员工考勤
    List<CardResult> getReqCardList(EmployeesClockReq req);
    int updateCommitClockState(EmployeesClockReq req);//更新打卡状态

    List<EmployeesAttendanceResult> getEmployeesAttendance(EmployeesAttendanceReq req);//查询员工考勤

    int  commitCard(CardReq req);//提交缺勤
    List<CardResult> getCardList(CardReq req);//获取缺勤记录
    int  deleteCard(CardReq req);//删除缺勤
    int  configCard(CardReq req);//确认补卡
    int   insertCardState(EmployeesClockReq req);//插入员工补卡状态
   InsertClockTimeReq selectBusinessClockTime(String  businessLicense);//统计打卡时间
    int   insertCreateClockTime(InsertClockTimeReq req);//店长设置打卡时间
    int updateClockTime(InsertClockTimeReq req);//更新打卡时间














}
